1. Field of the Invention
This invention relates to incremental and hierarchical netlisting.
2. Background
Integrated circuits are used in a large number of applications and products. In many cases, standard "off the shelf" integrated circuits are utilized as solutions for various applications. These standard integrated circuits are often utilized in high-volume applications. However, there are many low-volume or specialized applications for which it is economically unfeasible to use such standard circuits or for which the standard circuits do not provide the necessary functions required by the specific application. In these instances, specialized "custom" integrated circuits are designed and produced for the particular application. Such a custom circuit is known as an application specific integrated circuit (ASIC).
An ASIC designer utilizes a library of components from which to build custom circuits. A component is a device or circuit used as a building block and which can be joined with other components to provide desired functionality. The design of an ASIC is often done through the use of computer aided engineering (CAE) tools.
Often, commercial standardized CAE tools (simulators and automatic layout and test engineering systems) are purchased from different sources and integrated into a single work station environment. One disadvantage of such commercial CAE tools is that their data bases (used for netlisting) are "flat" (do not preserve schematic hierarchy and require large disk/memory space), slow (no incremental netlisting) and restrictive. If, for example, a designer makes a single change to the schematic, the netlist tools re-expand and renetlist the whole design completely, instead of only the change. This is because schematic hierarchy is not preserved during netlisting process.
Another disadvantage of prior CAE tools is difficulty in the development of front end integration for various tools (e.g., specific netlist extraction tools) which requires a major effort to integrate all CAE tools within a single schematic data base.
Another disadvantage of prior CAE tools in a work station environment is that all CAE tools have different front end "interface" and user interfaces.
However, most of the tools require, basically, connectivity information of the components and electrical/physical design details in the text formats of each tool.
To solve the problem in this invention, a "Generic Netlist Extraction Tool" was developed as a CASE (Computer-Aided Software Engineering) tool for automatically generating "C" language source code for various tool specific netlist extraction tools.
Therefore, it is desirable to provide a "general" netlist extraction tool for generating c-language source code for tool-specific incremental and hierarchical netlist extractors.
It is another object of the present invention to provide an extraction tool which maintains schematic hierarchy so that the simulation resulting can be coordinated with the actual schematic.